package com.niiwoo.civet.trade.service.invest;

import com.niiwoo.civet.trade.dto.request.InvestOrderListRequestDTO;
import com.niiwoo.civet.trade.dto.request.myloan.MyloanRequestDTO;
import com.niiwoo.civet.trade.dto.response.InvestOrderListResponseDTO;
import com.niiwoo.civet.trade.dto.response.InvestOrderReceivePaymentDetailDTO;
import com.niiwoo.civet.trade.dto.response.InvestOrderReceivePaymentPlanDTO;
import com.niiwoo.civet.trade.dto.response.ReceivableDetailResponseDTO;
import com.niiwoo.civet.trade.dto.response.myloan.inner.BackToArticleDetails;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

import java.util.List;

/**
 * 订单详情-回款计划
 * Created by zhangwanli on 2018/5/16.
 */
public interface ReceivePaymentPlanDubboService {

    /**
     * 订单详情-回款计划列表查询
     *
     * @param investOrderId 订单ID
     * @return List<InvestOrderReceivePaymentPlanDTO>
     */
    default List<InvestOrderReceivePaymentPlanDTO> receivePaymentPlanList(Long investOrderId){
        throw new UnsupportedOperationException("不支持此操作");
    }

    /**
     * 订单详情-单期回款计划详情查询
     *
     * @param investOrderId 订单ID
     * @param planId        回款计划ID
     * @return InvestOrderReceivePaymentDetailDTO
     */
    default InvestOrderReceivePaymentDetailDTO receivePaymentPlanDetail(Long investOrderId, Long planId){
        throw new UnsupportedOperationException("不支持此操作");
    }

    /**
     * PC投资订单
     *
     * @param requestDTO 请求VO
     * @return InvestOrderListResponseDTO
     */
    default PageResponseDTO<InvestOrderListResponseDTO> investOrderList(InvestOrderListRequestDTO requestDTO){
        throw new UnsupportedOperationException("不支持此操作");
    }

    /**
     * PC我的投资页-回款详情
     *
     * @param investOrderId 订单ID
     * @return ReceivableDetailResponseDTO
     */
    default ReceivableDetailResponseDTO receivableDetail(Long investOrderId){
        throw new UnsupportedOperationException("不支持此操作");
    }

    /**
     * PC账户首页-回款日历
     *
     * @param requestDTO MyloanRequestDTO
     * @return list BackToArticleDetails
     */
    default List<BackToArticleDetails> receivableCalendar(MyloanRequestDTO requestDTO){
        throw new UnsupportedOperationException("不支持此操作");
    }

}
